package a_12届蓝桥真题;

/*
小蓝有很多数字卡片，每张卡片上都是数字0到9.
小蓝准备用这些卡片来拼一些数，他想从1开始拼出正整数，每拼一个，
就保存起来，卡片就不能用来拼其它数了。
小蓝想知道自己能从1拼到多少。
例如，当小蓝有30张卡片，其中0到9各3张，则小蓝可以拼出1到10,
但是拼11时卡片1已经只有一-张了，不够拼出11.
现在小蓝手里有0到9的卡片各2021张，共20210张，请问小蓝可以从1
拼到多少?

3181
 */
public class a卡片 {
	public static void main(String[] args) {
		a卡片 test = new a卡片();
		test.useDeal();
	}
	public void useDeal() {
		int[] arr = new int[10];
		for (int i = 0; i < 10; i++) {
			arr[i] = 2021;
		}
		int res = deal(arr);
		System.out.println(res);
	}
	
	public int deal(int[] arr) {
		int current = 1;
		while (true) {
			for (int i = current; i > 0; i /= 10) {
				arr[i % 10]--;
				if (arr[i % 10] == -1) {
					return current - 1;
				}
			}
			current++;
		}
	}
}
